package sort;

import java.util.Vector;


public class Descending implements Sortinterface 
{
	Vector<Object>tempmap = new Vector<Object>();
 	String buffer[];
 	
 	int starindex=1;
	public void setVector(Vector<Object> vector,int starindex)
	{
		this.tempmap = vector;
		this.starindex = starindex;		
	}
	public void setbuffer(String[] buffer) 
	{
		this.buffer = buffer;
		
	}

	public void getResult() 
	{
		for(int i = 1; i < buffer.length ; i++)
		{
			for(int j = i; j < buffer.length-1; j++)
			{	
				String splitbufferj[] = buffer[j].split("\t");
				String splitbufferj1[] = buffer[j+1].split("\t");
				for(int k=0;k<tempmap.size();k++)
				{
					//System.out.println(splitbufferj[Integer.parseInt(tempmap.get(k).toString())].trim().toLowerCase());
					String leftString = splitbufferj[Integer.parseInt(tempmap.get(k).toString())].trim().toLowerCase();
					String rightString = splitbufferj1[Integer.parseInt(tempmap.get(k).toString())].toLowerCase().trim();
					
					try 
					{
						double left = Double.parseDouble(leftString);
						double right = Double.parseDouble(rightString);
						if(left<right)
						{	
								String temp = buffer[j];
								buffer[j] = buffer[j+ 1];
								buffer[j + 1] = temp;
								break;
						}
						else if(left>right)
							break;
					}
					catch (NumberFormatException e) 
					{
						if(leftString.compareTo(rightString) < 0)
						{	
								String temp = buffer[j];
								buffer[j] = buffer[j+ 1];
								buffer[j + 1] = temp;
								break;
						}
						else if(leftString.compareTo(rightString)  > 0)
							break;
					}
				}
			}	
		}	
	}

	public String[] getbuffer() 
	{	
		return buffer;
	}
	public static void main(String[] args) 
	{
		Vector<Object> vect = new Vector<Object>();
		vect.add("0");
		vect.add("1");
		//vect.add("2");
		//vect.add("3");
		/*String[] buffer2={"id",
				"1",
				"1",
				"3",
				"4",
			    "5",
			    "6"};*/
		/*String[] buffer={"id\ttid",
				"1\t101",
				"1\t104",
				"3\t102",
				"4\t101",
			    "5\t103",
			    "6\t102"};*/
		/*String[] buffer2={"id\ttid\tRate\tName",
				"1\t101\t302\t902",
				"1\t104\t301\t901",
				"3\t102\t303\t903",
				"4\t101\t304",
			    "5\t103\t305",
			    "6\t102\t306"};*/
	/*	String buffer[]={"id\ttid\tRate",
					"1\t101\t302",
					"1\t104\t301",
					"3\t102\t303",
					"4\t101\t304",
				    "5\t103\t305",
				    "6\t102\t306"};*/
		
	/*	 String[] buffer={"mid\tpid\tPV\tVT\tRef\tFD\tTD",	
					"25\t9\t1\tno$\t0\t0000-00-00 00:00:00\t0000-00-00 00:00:00",	
					"25\t86\t5849\tno$\t46\t0000-00-00 00:00:00\t0000-00-00 00:00:00",	
					"25\t5645\t5891\tno$\t0\t0000-00-00 00:00:00\t0000-00-00 00:00:00",	
					"25\t13\t5949\tno$\t0\t0000-00-00 00:00:00\t0000-00-00 00:00:00",	
					"25\t5689\t5969\tno$\t0\t0000-00-00 00:00:00\t0000-00-00 00:00:00",	
					"25\t9\t1\tno$\t0\t0000-00-00 00:00:00\t0000-00-00 00:00:00",	
					"25\t31\t7272\tno$\t0000-00-00 00:00:00	",
					"25\t7314\t7343\tno$",	
					"25\t25\t25\t0\t0",	
					"25\t25\t25\t0\t0"};*/
		/*String[]buffer={"a\tb\tc\td",
				"d\tc\ta\tb",
				"g\tz\th\tk",
				"e\tv\td\tl",
			"z\tz\ta\ta"};*/
		/*String[]buffer={"5\tb\t43\t21",
					"8\tc\t76\t43",
					"9\tz\t4\tk",
					"1\tv\t2\tl",
				"66z\tz\t9\t8"};*/
		String buffer[]={"1",
						"w",
						"t",
						"9",
						"q",
						"554"
						
				};
		
		 
		Descending dsc = new Descending();
		dsc.setbuffer(buffer);
		dsc.setVector(vect, 0);
		dsc.getResult(); 
		buffer = dsc.getbuffer();
		for(int i=0;i<buffer.length;i++)
			System.out.println(buffer[i]);
	}


}
